1. Field of the Invention
This invention generally relates to a computer operated class of articulated robot manipulators and, more particularly, to continuous, iterative, real-time, computer controlled technqiues which are employed to transform a given position (X, Y, Z coordinates) and orientation (rotation matrix) of a robot tool or end effector in Cartesian space to equivalent joint angles of the robot (world-to-joint transformation).
2. Background Discussion
A robot is broadly defined as a programmable machine tool. Robot manipulator or manipulator as used herein is intended to refer to a programmable articulated machine or to tool handling apparatus. An articulated robot manipulator is made up of several joints connected together by rigid links. A joint can either be a rotary joint or prismatic joint. This application deals with rotary joint, manipulators. A motion of the manipulator is created by providing a drive signal to a motor coupled to a joint to thereby effect movement of a manipulator section about an axis of rotation. Many applications require the control of an end effector on specific trajectories in Cartesian space. One of the simplest trajectories of the end effector is a straight line. In order to move the robot end effector on a straight line, the line is divided into a large number of points and the robot joint angles are calculated at each point. Thus, by commanding the joint positions of the robot at a large number of points on the straight line, the desired motion of the robot end effector is generated.
There are presently two methods of implementing a desired motion: the programmed motion method, or the continuous controlled motion from a teach pendant (linear jog method) in which the robot joints are continuously updated on the fly or in real-time to control the trajectory. In the programmed motion aproach, the trajectory of the end effector is fixed. In the continuous controlled motion (jogging) the joint trajectories are computed on-line and can be modified in real-time.
The process of transforming a point in Cartesian space to joint angles is called a reverse transformation. The converse is a forward transformation in which, given a set of joint angles, defines a unique end effector position. The forward and reverse transformations are the key transformations in processing robot motions through computer control.
The reverse transformation for an articulated robot manipulator is usually non-unique. For a given position and orientation of the end effector and Cartesian space, there is more than one way of configuring the robot links to place the end effector at the desired point. The forward solution is always unique, since for a given set of joint angles, the end effector can only be at one position and orientation in space. Consequently, the reverse solution is computationally more intensive than the forward solution.
A common articulated robot geometry has six degrees of freedom. The joint angles starting from the base of the robot are commonly termed the base rotation, shoulder rotation, elbow rotation, wrist roll, wrist pitch and wrist yaw. Since it takes three degrees of freedom to reach any position in three dimensional space, the six degrees of freedom can be thought of as made up of two sets of three joints each, one set for position and the other set for orientation.
The complexity of determining the six joint angles of a six degrees of freedom robot for a given position and orientation space directly depends on the robot geometry. Some robot geometries yield a closed form reverse transformation. In a closed form solution, the joint angles are calculated by solving simultaneous equations. The solution of the equations for the joint angles does not require iterations or checks for a convergence. An efficient method for determination of the reverse solution has been formulated for a "spherical" wrist robot manipulator, Featherstone, R., Position and Velocity Transformations Between Robot and Effector Coordinates and Joint Angles, International Journal Robotics Res., Vol. 2, No. 2, pp. 35-45, 1983. A spherical wrist is defined by the intersection of the three wrist rotation axes. An efficient method for the reverse transformation of a spherical wrist robot is to initially determine the wrist position and de-couple the joint angles at the wrist joint. This method is generally applicable to any six degree of freedom robot geometry, where the wrist joint can be located from the faceplate position and orientation. However, although the solution is available in closed form, the reverse transformation degenerates in a singular configuration of the spherical wrist robot, i.e., into a singularity, in some conditions.
Certain robot geometries do not yield a closed form reverse transformation as in the spherical wrist geometry. A particular class of robots are those with an "offset wrist". The offset at the wrist joint prevents the three wrist rotation axes from intersecting at the wrist joint. In this case, the wrist cannot be directly located from the faceplate position and orientation.
Richard Paul, (Paul, R. C., Robot Manipulators: Mathematics, Programming and Control, MIT Press, Mass., 1981) has developed a general technique for the determination of a reverse transformation for any robot. This technique employs link matrices called the A-matrices, which are well known in the art. The product of the link matrices yields the faceplate position and orientation (known for reverse transformation). The systematic application of this general technique for the recursive evaluation of the reverse solution for any robot is described in the above mentioned book by Paul. His solution for the offset wrist robot geometry of FIG. 1, involves a simultaneous solution of two transcendental equations in two unknowns. One of the transcendental equations is a quadratic and the other is a quartic. Solutions to such polynomial equations can be generated by iterative numerical techniques. However, the computational complexity of such an endeavor is beyond real time computations for current state of the art microprocessor technology. The computational complexity of trajectory generation is a major concern. The prior art computations are so slow, it is not possible to compute joint angle updates at the same rate necessary as the update rate in commands to the joint angle servo motors.
It is an object of this invention to overcome this problem by providing cross-product and dot-product recursive methods that employ the robot geometry to develop a simple recursion for locating the end effector on an offset wrist, such that the computational complexity of the technqiues allows real-time computations for current state of the art microprocessor technology. The microprocessor computations calculate joint angle updates to satisfy sophisticated real-time demanding applications such as a robot controlled assembly line.
The dot-product and cross-product method, however, become slower when the wrist pitch angle approaches its zero value. This problem can be traced to a methematical singularity in the proposed solution at all configurations when the wrist pitch angle is at zero degress. Since the singularity causes a slower convergence of the reverse solution, a band around the wrist pitch angle is identified as the singularity band and an alternate solution is developed to handle the reverse transformation in the singularity band in real-time microprocessor controlled computations.
It is a further object of this invention to maintain positional accuracy and smooth motion, when the wrist pitch angle is within a singularity band so that the robot arm acts in a very precise manner.
It is another object of this invention to provide real-time computation for the singularity band to satisfy sophisticated real-time robot controlled applications.